#ifndef ADBPROCESS_H
#define ADBPROCESS_H

#include <QString>
#include <QSize>

class AdbProcess
{
public:
    static QStringList GetDeviceList();

    static QString GetBrand(const QString &deviceId);
    static QString GetModel(const QString &deviceId);
    static QString GetName(const QString &deviceId);

    // 获取屏幕大小
    static QSize GetSize(const QString &deviceId);

    // 是否为device模式
    static bool IsDeviceMode(const QString &deviceId);

    // 导出文件
    static void Pull(const QString &deviceId, const QString &file, const QString &path);

    // 删除文件
    static void Rm(const QString &deviceId, const QString &file);

    // 保存屏幕快照
    static void Screencap(const QString &deviceId, const QString &file);

    // 保存ui布局xml
    static void UiautomatorDump(const QString &deviceId, const QString &file);

    // 开启屏幕反馈
    static void EnableShowTouches(const QString &deviceId, bool enable);
    static void EnablePointerLocation(const QString &deviceId, bool enable);

    static QString RunCommand(const QString &commandLine, const QString &deviceId);

private:
    static void ErrorFilter(QString &content);
    static QString adb;
};

#endif // ADBPROCESS_H
